package cf.huzpsb.bcgod;

import net.md_5.bungee.api.CommandSender;
import net.md_5.bungee.api.connection.ProxiedPlayer;
import net.md_5.bungee.api.plugin.Command;

public class SetpassCMD extends Command {
    public SetpassCMD(String name, String permission, String... aliases) {
        super(name, permission, aliases);
    }

    public void execute(CommandSender sender, String[] args) {
        if (!(sender instanceof ProxiedPlayer)) {
            sender.sendMessage("§c后台不能使用此命令!");
        } else if (((ProxiedPlayer) sender).getServer().getInfo().getName().equalsIgnoreCase(Main.login)) {
            sender.sendMessage("§c请先登录!");
        } else if (args.length == 3) {
            if (sender.hasPermission("bcgod.setpasser")) {
                if (!args[1].equals(args[2])) {
                    sender.sendMessage("§c改密失败!两次输入的密码不一致!");
                    return;
                }
                if (!Main.passcfg.contains(args[0])) {
                    if (args[1].equals("reset")) {
                        sender.sendMessage("§c错误:该玩家尚未注册!您不能重置他的密码!");
                        return;
                    }
                    sender.sendMessage("§c警告:该玩家尚未注册!您正在为其注册!");
                }
                if (args[1].equals("reset")) {
                    sender.sendMessage("§c警告:您正在重置玩家密码!");
                    Main.passcfg.set(args[0], null);
                    sender.sendMessage("§a重置玩家密码成功!");
                    return;
                }
                Main.passcfg.set(args[0], args[1]);
                sender.sendMessage("§a修改玩家密码成功!");
            } else {
                sender.sendMessage("§c命令参数不正确!");
            }
        } else if (args.length == 2) {
            if (!args[0].equals(args[1])) {
                sender.sendMessage("§c改密失败!两次输入的密码不一致!");
                return;
            }
            Main.passcfg.set(sender.getName(), args[0]);
            sender.sendMessage("§a修改密码成功!");
        } else {
            sender.sendMessage("§c命令参数不正确!你可能忘了确认密码?");
            if (sender.hasPermission("bcgod.setpasser")) {
                sender.sendMessage("§c或者,您想要重置他的密码?重置请将其密码设置为reset!");
            }
        }
    }
}
